Individuals and groups collaborating on a project often join a video conference with different endpoint hardware, including cellular phones, desktop computers, tablet computers, etc. Capabilities and permissions for each endpoint joining a video conference can be different. For example, a user connecting to a video conference via a desktop computer may have the ability to view multiple users and utilize an integrated chat feature, thanks to a high bandwidth connection and high speed graphics and other processing components. Alternatively, a user connecting to a video conference via a smartphone may have the ability to only view one speaker at a time (due to a smaller display screen), little or no ability to use a chat feature, and be connected over a communication link with limited bandwidth. Further, each user and/or endpoint may be limited in terms of account permissions during the video conference. As an example, the organizer may be the only user/endpoint permitted to enable a record function, or to use a chat feature during a particular video conference.
With such capabilities and permissions in mind, during connection to a video conference, multiple application programming interface (API) calls are made, either by the endpoint, the video conference server, or both, in order to properly set up a connection between a particular endpoint and the video conference server. Typically, the endpoint will be authenticated, details of the capabilities and account permissions for the particular user/endpoint will be determined by the video conference server, and the connection between the endpoint and the server established in accordance with the negotiated parameters. Sometimes, however, an API call will fail, either due to a mismatched permission or capability, or for some other reason. When such a failure occurs, the server typically rejects the attempted connection by the endpoint to the video conference. The user is therefore forced to attempt the connection again from the beginning.